/*
 * 主界面
 * 
 */
Ext.define('BenBen.App', {
    extend: 'Ext.ux.desktop.App',

    requires: [
        'Ext.window.MessageBox',
        'Ext.ux.desktop.ShortcutModel',

//        'MyDesktop.SystemStatus',
//        'MyDesktop.VideoWindow',
//        'MyDesktop.GridWindow',
//        'MyDesktop.TabWindow',
//        'MyDesktop.AccordionWindow',
//        'MyDesktop.Notepad',
//        'MyDesktop.BogusMenuModule',
//        'MyDesktop.BogusModule',
//        'MyDesktop.Settings',
        'BenBen.modules.system.UserModule',
        'BenBen.modules.system.DepartmentModule',
        'BenBen.modules.system.SystemStartMenu',
        'BenBen.modules.customer.CustomerModule'
    ],

    init: function() {
        // custom logic before getXYZ methods get called...

        this.callParent();
        this.desktop.initShortcut();
        // now ready...
    },
    /**
     * 开始菜单内容
     */
    getModules : function(){
        return [
//            new MyDesktop.VideoWindow(),
            //new MyDesktop.Blockalanche(),
//            new MyDesktop.SystemStatus(),
//            new MyDesktop.GridWindow(),
//            new MyDesktop.TabWindow(),
//            new MyDesktop.AccordionWindow(),
//            new MyDesktop.Notepad(),
//            new MyDesktop.SystemStatus,
//            new MyDesktop.BogusModule(),
            new BenBen.modules.system.UserModule(),
            new BenBen.modules.system.DepartmentModule(),
            new BenBen.modules.system.SystemStartMenu({
                isStart : true
            }),
            new BenBen.modules.customer.CustomerModule()

        ];
    },
    /**
     * 桌面显示部分
     */
    getDesktopConfig: function () {
        var me = this, ret = me.callParent();
        return Ext.apply(ret, {
            //cls: 'ux-desktop-black',
            contextMenuItems: [
                { text: '更改设置', handler: me.onSettings, scope: me }
            ],
            shortcuts: Ext.create('Ext.data.Store', {
                model: 'Ext.ux.desktop.ShortcutModel',
                data: [
                    { name: '设置', iconCls: 'setting-shortcut', module: '' },
                    { name: '部门管理', iconCls: 'department-shortcut', module: 'department-win' },
                    { name: '用户管理', iconCls: 'user-shortcut', module: 'user-win' },
                    { name: '客户管理', iconCls: 'customer-shortcut', module: 'customer-win' },
                    { name: '产品管理', iconCls: 'product-shortcut', module: '' },
                    { name: '订单管理', iconCls: 'order-shortcut', module: '' },
                    { name: '竞争对手', iconCls: 'competitor-shortcut', module: '' },
                    { name: '信息交流', iconCls: 'chat-shortcut', module: '' },
                    { name: '日程安排', iconCls: 'calendar-shortcut', module: '' },
                    { name: '我的联系人', iconCls: 'linker-shortcut', module: '' },
                    { name: '文件库', iconCls: 'folder-shortcut', module: '' },
                    { name: '报表中心', iconCls: 'chart-shortcut', module: '' },

//                    { name: '折叠窗口', iconCls: 'accordion-shortcut', module: 'acc-win' },
//                    { name: 'Notepad', iconCls: 'notepad-shortcut', module: 'notepad' },
//                    { name: '系统状态', iconCls: 'cpu-shortcut', module: 'systemstatus'},
//                    { name: 'Tab', iconCls: 'tab-shortcut', module: 'tab-win' },

                    { name: '帮助文档', iconCls: 'help-shortcut', module: 'grid-win' },
                    { name: '关于我们', iconCls: 'home-shortcut', module: 'notepad' }
                ]
            }),
            wallpaper: '/images/wallpapers/sky.jpg',
            wallpaperStretch: false
        });
    },

    /**
     * 开始菜单
     */
    getStartConfig : function() {
        var me = this, ret = me.callParent();

        Ext.Ajax.request({
            url: '/loginUser',
            method: 'GET',
            callback: function (options, success, response) {
                if (success) {
                    var user = Ext.decode(response.responseText);
                    var title = '当前登陆用户:'+user.fullName;

                    me.setStartMenuTitle(title)
                }
            }
        });

        return Ext.apply(ret, {
            title: '无标题',
            iconCls: 'user',
            height: 300,
            toolConfig: {
                width: 100,
                items: [
                    {
                        text:'设置',
                        iconCls:'settings',
                        handler: me.onSettings,
                        scope: me
                    },
                    '-',
                    {
                        text:'登出',
                        iconCls:'logout',
                        handler: me.onLogout,
                        scope: me
                    }
                ]
            }
        });
    },
    
    /**
     * 快捷栏
     */
    getTaskbarConfig: function () {
        var ret = this.callParent();
        return Ext.apply(ret, {
            quickStart: [
                { name: '折叠窗口', iconCls: 'accordion', module: 'acc-win' },
                { name: '表格窗口', iconCls: 'icon-grid', module: 'grid-win' }
            ],
            trayItems: [
                { xtype: 'trayclock', flex: 1 }
            ]
        });
    },

    onLogout: function () {
        Ext.Msg.confirm('登出', '确定登出?');
    },

    onSettings: function () {
        var dlg = new MyDesktop.Settings({
            desktop: this.desktop
        });
        dlg.show();
    }
});
